home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Super Shareware Collection
/
Super Shareware Collection.iso
/
sound
/
cdbeep15.zip
/
CDBEEP.DOC
< prev
next >
Wrap
Text File
|
1993-01-31
|
11KB
|
228 lines
CBEEP - DBEEP
Replaces BEEP with a FLASH
Copyright (C) 1991-93
>>-Swift-Ware->
Version 1.4
January 1993
INTRODUCTION:
CBEEP, DBEEP, and the associated files were designed to allow the
replacement of the usual beep sound (which many programs use to
get the user's attention) with a visual flash. Potential uses
for such a capability are to allow a hearing-impaired person to
sense the beep or to avoid disturbing normal-hearing people yet
allow the program to signal the user. This is accomplished by
replacing the code which generates the beep sound with new
program instructions which replace the beep with a flash of
selectable size and duration.
INSTALLATION and USE:
The primary programs in this package are CBEEP.COM and DBEEP.COM.
They will usually be referred to without their .COM extensions
for convenience. DBEEP is first used to produce a new renamed
version of any program which has the beep replaced by a flash.
Then CBEEP is loaded into the computer's memory. CBEEP is the
program which actually makes the flash when called upon to do so
by the debeeped program. Finally the debeeped version of the
program is loaded and run. After some initial preparation, the
use of the debeeped version of a program can be made completely
automatic and transparent to the user.
First, the program to be debeeped must be selected. Programs can
be recognized by their file extensions of .COM (for "command"
or .EXE (for "executable"). DBEEP, CBEEP, and the program to be
debeeped should all be placed in the same subdirectory. For
simplicity, this may be the subdirectory in which the program to
be debeeped was initially located. That subdirectory should next
be made the current subdirectory. Then the debeeping program,
DBEEP, should be started by entering its name from the DOS
command line. If the program to be debeeped was NOISY.EXE in
subdirectory C:\PROGRAMS, and if CBEEP and DBEEP were on a floppy
disk inserted in floppy disk Drive A:, this might be done by
something like
C:
CD \PROGRAMS
COPY A:CBEEP.COM
COPY A:DBEEP.COM
DBEEP
This will start execution of the debeeping program. DBEEP will
display a menu where [F1] may be pressed to display a help
screen, [F2] may be pressed to start the debeeping process, and
[F3] may be pressed to load CBEEP into the computer. For now,
let's wait a bit before loading CBEEP and go on to create the
debeeped version of the program. Press [F2] and you will be
prompted to enter the name of the program to be debeeped. In our
example, the program was NOISY.EXE in subdirectory PROGRAMS on
Drive C:, so enter
C:\PROGRAMS\NOISY.EXE
If you followed the previous instructions, the current
subdirectory would have been C:\PROGRAMS, so the full path
reference would not have been necessary, just entering NOISY.EXE
would have been ok. Next you will be prompted for the name of
the new (debeeped) version of the program which you want to
create. Select any name with no more than eight letters in the
name and use the same extension (the ".COM" or ".EXE") as was
used in the original program. It is very important to use the
same extension but the name should be different from the original
name. In our case we might select the name NOTNOISY.EXE as our
new program. After you enter the new program name, DBEEP will
begin the debeeping process. You will see from the display on the
screen that the process has begun and the display will indicate
when the debeeping process has finished; this may take a minute
or so. After DBEEP has finished, you may press [F3] to "launch"
CBEEP. This places into the computer's memory ("loads") the
program which produces the flash when called upon to do so by the
debeeped version of the program. As part of the process of
launching (or loading) CBEEP, the CBEEP menu will be displayed
which will allow selecting the size and duration of the flash.
If the computer has been rebooted or the power has been turned
off, it will be necessary to reload CBEEP in the computer's
memory. This can be done by entering DBEEP from the command line
and then pressing [F3] and continuing to load CBEEP as was done
before. A shortcut which can be used if you remember the number
of the menu item you used to select the flash size and duration
is to skip the use of DBEEP and just enter CBEEP /n from the DOS
command line, where for "n" you enter the menu item selection.
For example, to get a large, 1/2 sec. flash, enter CBEEP /2.
If you use the debeeped versions of your programs frequently, it
is recommended that you place the CBEEP /n command within your
AUTOEXEC.BAT file where it will cause CBEEP to be automatically
loaded each time you reboot or power up your computer.
CHANGING INTERRUPT SETTING:
CBEEP.COM is a terminate-and-stay-resident (TSR) program which is
called by the debeeped program. DBEEP.COM searches the original
user's program and replaces all code which generates beeps with
code which generates a software interrupt. Normally interrupt
60H is used, but CHGINT.COM may be used to select another
interrupt if 60H causes interference with other users of the same
interrupt. CBEEP, DBEEP, and CHGINT should be placed in the same
subdirectory, and CHGINT run. That will display a menu allowing
selection of an alternate interrupt number from 60H to 66H.
C/DBEEP should be compatible with all versions of DOS from DOS
2.0 on and will work with MDA, Hercules, CGA, EGA, and VGA
display adapters.
If the space taken up by CBEEP is needed in order to run large
applications or if there are conflicts with other TSRs, CBEEP may
be uninstalled by entering CBEEP /U from the DOS command line.
This valid only if no other TSRs have been loaded after CBEEP.
If you want to suppress the messages output by CBEEP when it
loads and unloads, you can redirect the output to NUL. For
example CBEEP /1 > NUL will result in no output to the screen
while loading. The installation message can also be suppressed
by adding "x or any letter other then ENTER" to the size/duration
switch, example - CBEEP /1x.
Beeps can be generated in several ways. The best-behaved method
is to use DOS' BIOS services to send a BEL (character code 7) to
the screen. An alternate method is directly to manipulate the
hardware which controls the speaker. This is done by using the
OUT instruction to change the two low order bits of port 61H to
turn the speaker on and off. DBEEP looks for the code which
generates such instructions and replaces it with a software
interrupt (using either the default interrupt number of 60H or an
alternate interrupt number selected via CHGINT), padding as
needed with NOPs. A reasonableness check of surrounding data is
made in order to distinguish code from data prior to replacing
the beep codes.
In some cases the message "NO BEEPERS FOUND" is produced by DBEEP
even though the code being debeeped is known to produce beeps.
This is generally caused by code which does not write directly to
hardware ports but merely uses DOS or BIOS services to produce a
beep by sending the BEL character to the screen. The interrupts
used by these services are trapped by CBEEP and thus the beeps
are properly converted into flashes even though no code is
modified by DBEEP. The message "NO BEEPERS FOUND" thus indicates
that no code replacement was necessary rather than that the
program being debeeped doesn't have any beep-producing code.
There are a few known limitations to this procedure. Compressed
executable code will not generally allow the instructions to be
properly identified. If the compression technique which has been
used is known, it may be possible to uncompress the code, apply
the debeeping program to the uncompressed version, and then
recompress the debeeped version.
CDBEEP has not been tested for use on overlays. For standard
non-compressed overlays it may be possible to debeep the overlays
just like a .COM or .EXE file.
DISCLAIMER:
The software and documentation in this package are provided "As
Is" without warranty of any kind. >>-Swift-Ware-> does not
warrant, guarantee, or make any representations regarding the
use, or the results of use, of this software. All risk taken in
the use of this software is assumed by you, the user, and not by
>>-Swift-Ware->, nor by any person or organization who may
distribute this product.
Send comments to:
Author:
William Cravener
520 N. Stateline Rd.
Sharon Pa. 16146
or Email to CIS: 72230,1306
REVISION HISTORY:
1.0 - Original release.
1.1 - Removed autoloading of CBEEP.
1.2 - Code same as 1.1, revised documentation.
1.3 - Removed code which saved and restored video mode.
It caused loss of previous palette or font settings.
1.4 - Minor update, some modifications. This version was not
released to the public.
1.5 - Added a new "Keyboard LEDs" option that enables the
flashing of the Num, Caps and Scroll LEDs on the keyboard.
Improved video handling for faster screen writes, many
modifications made to both CBEEP and DBEEP to improve
program performance. Simplified and revised documentation.
The new LED flash option will not work on the old XT's.
----------------------- END OF DOCUMENT -----------------------